package practice.Day23;

import java.util.HashMap;
import java.util.Map;

/**
 * @Author quan
 * @Description 使用map
 * @Date 2023/6/7 14:50
 */
public class Num1_RedEve_Map {
    /**
     * map分别保存元素和其出现的次数。
     * @param gifts
     * @param n
     * @return
     */
    public int getValue(int[] gifts, int n) {
        //1、新建Map
        Map<Integer,Integer> map = new HashMap<>();
        for (int g:gifts) {
            //2、如果key值是第一次出现，就将次数置为1
            if(!map.containsKey(g)){
               map.put(g,1);
            }
            //3、否则在原先次数上加1
            map.put(g,map.get(g)+1);
        }
        //4、遍历map,找出最大次数的map值
        //但是可以不找出最大次数：将每个次数都比较，判断是否大于一半就行。
        for (int g:gifts) {
            if(map.get(g) > n/2){
                return g;
            }
        }
        return 0;
    }
}
